home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / comp-speech-faq / part2 < prev    next >
Encoding:
Text File  |  1995-07-25  |  33.6 KB  |  762 lines

  1. Subject: comp.speech Frequently Asked Questions - part 2/3
  2. Newsgroups: comp.speech,comp.answers,news.answers
  3. From: andrewh@speech.su.oz.au (Andrew Hunt)
  4. Date: 10 Nov 1994 01:29:10 GMT
  5.  
  6. Archive-name: comp-speech-faq/part2
  7. Last-modified: 1994/11/04
  8.  
  9.  
  10.               COMP.SPEECH FAQ POSTING - PART 2/3
  11.  
  12.  
  13. [Note: this document has been automatically extracted from
  14. a WWW site.  This may introduce some formatting errors.]
  15.  
  16.  
  17.  
  18. ===========================================================================
  19.  
  20.    
  21. FAQ SECTION 2 - Signal Processing for Speech
  22.  
  23.   Q2.1: WHAT SAMPLING DO I NEED FOR SPEECH?
  24.   
  25.    For recorded speech to be understood by humans you need an 8kHz
  26.    sampling rate or more and at least 8 bit sampling. This produces poor
  27.    quality speech - but in can be understood.
  28.    
  29.    Improvements can be achieved by increasing the number of bits in
  30.    sampling to 12bits or 16bits, or by using a non-linear encoding
  31.    technique such as mu-law or A-law (see Q2.7). This improves the
  32.    "signal-to-noise" ratio.
  33.    
  34.    Increasing the sampling rate above 8kHz, say to 10kHz, 16kHz or 20Khz,
  35.    improves the frequency response: the higher the sampling frequency the
  36.    better the high frequency content will be. A 16kHz sampling rate is a
  37.    reasonable target for high quality speech recording and playback.
  38.    
  39.    When doing speech recognition you need to remember that the your
  40.    computer is not as good as your ear so it will have trouble with poor
  41.    quality sounds. The choice of an appropriate sampling setup depends
  42.    very much on the speech recognition task and the amount of computer
  43.    power available.
  44.      _________________________________________________________________
  45.    
  46.   Q2.2: HOW DO I FIND THE PITCH OF A SPEECH SIGNAL?
  47.   
  48.    This topic comes up regularly in the comp.dsp newsgroup. Question 2.5
  49.    of the FAQ posting for comp.dsp gives a comprehensive list of
  50.    references on the definition, perception and processing of pitch.
  51.      _________________________________________________________________
  52.    
  53.   Q2.3: HOW DO I FIND THE START AND END POINTS OF A SPEECH SIGNAL?
  54.   
  55.    A large number of papers have been presented on this task. Try the
  56.    following papers:
  57.      * Rabiner LR, Sambur MR, "An Algorithm for Determining the Endpoints
  58.        of Isolated Utterances", Bell System Technical Journal, Vol 54,
  59.        No. 2, pp 297-315, 1975.
  60.      * Drago, P.G. et al. "Digital Dynamic Speech Detectors." IEEE Trans
  61.        on Communications, Vol 26, No 1, Jan 78, pp. 140-145.
  62.      * Newman, W.C. "Detecting Speech with an Adapative Neural Network."
  63.        Electronic Design. 22 March 1990.
  64.      * Taboada. J et al "Explicit Estimation of Speech Boundaries" IEE
  65.        Proc. Sci. Meas. Technol., Vol 141, No.3, May 1994 pp153-159.
  66.        
  67.      _________________________________________________________________
  68.    
  69.   Q2.4: WHERE CAN I FIND FFT SOFTWARE?
  70.   
  71.    Try the following file available by anonymous ftp. It contains a
  72.    series of optimised fft routines, including mixed-radix algorithms.
  73.    The .gz suffix indicates GNU zip format.
  74.      * ftp://usc.edu/pub/C-numanal/fft-stuff.tar.gz
  75.        
  76.      _________________________________________________________________
  77.    
  78.   Q2.5: WHAT SIGNAL PROCESSING TECHNIQUES ARE USED IN SPEECH TECHNOLOGY?
  79.   
  80.    This question is far to big to be answered in a FAQ posting.
  81.    Fortunately there are many good books which answer the question. Some
  82.    good introductory books include
  83.      * Digital processing of speech signals; L. R. Rabiner, R. W.
  84.        Schafer. Englewood Cliffs; London: Prentice-Hall, 1978
  85.      * Voice and Speech Processing; T. W. Parsons. New York; McGraw Hill
  86.        1986
  87.      * Computer Speech Processing; ed Frank Fallside, William A. Woods
  88.        Englewood Cliffs: Prentice-Hall, c1985
  89.      * Digital speech processing : speech coding, synthesis, and
  90.        recognition edited by A. Nejat Ince; Kluwer Academic Publishers,
  91.        Boston, c1992
  92.      * Speech science and technology; edited by Shuzo Saito pub. Ohmsha,
  93.        Tokyo, c1992
  94.      * Speech analysis; edited by Ronald W. Schafer, John D. Markel New
  95.        York, IEEE Press, c1979
  96.      * Douglas O'Shaughnessy -- Speech Communication: Human and Machine
  97.        Addison Wesley series in Electrical Engineering: Digital Signal
  98.        Processing, 1987.
  99.      * Discrete-time processing of speech signals; John R Deller, John G
  100.        Proakis, John H L Hansen; Macmillan 1993.
  101.      * Signal processing of speech; F J Owens; Macmillan 1993.
  102.        
  103.      _________________________________________________________________
  104.    
  105.   Q2.6: WHAT SPEECH SAMPLING AND SIGNAL PROCESSING HARDWARE CAN I USE?
  106.   
  107.    In addition to the following information, have a look at the Audio
  108.    File format document prepared by Guido van Rossum (see details in
  109.    Section 1.8).
  110.    
  111.    Can anyone provide information on Mac, SGI, NeXT and other hardware?
  112.    
  113.     Sun standard audio port: SPARC I & II
  114.      * Input and Output: 1 channel, 8 bit mu-law encoded, 8kHz sample
  115.        rate. This provides telephone quality sampling.
  116.        
  117.     Sun standard audio port (SPARC 10 & 20)
  118.      * Input and Output: Stereo (2 channels). 16-bit linear sampling.
  119.        Multiple sample rates (48000, 44100, 37800, 32000, 22050, 18900,
  120.        16000, 11025, 9600, 8000 Hz)
  121.        
  122.     Ariel Signal Processors
  123.      * Platform: Various
  124.      * Description: A range of signal I/O, A/D, D/A and DSP products
  125.        are available. There are too many to list.
  126.      * Contact:
  127.     Ariel Corp.
  128.     433 River Road, Highland Park, NJ 08904.
  129.     Ph: 908-249-2900 Fax: 908-249-2123 DSP BBS: 908-249-2124
  130.     
  131.     IBM RS/6000 ACPA (Audio Capture and Playback Adapter)
  132.      * Description: The card supports PCM, Mu-Law, A-Law and ADPCM at
  133.        44.1kHz (& 22.05, 11.025, 8kHz) with 16-bits of resolution in
  134.        stereo. The card has a built-in DSP (don't know which one). The
  135.        device also supports various formats for the output data, like
  136.        big-endian, twos complement, etc. Good noise immunity.
  137.        
  138.        The card is used for IBM's VoiceServer (they use the DSP for
  139.        speech recognition). Apparently, the IBM voiceserver has a
  140.        speaker-independent vocabulary of over 20,000 words and each ACPA
  141.        can support two independent sessions at once.
  142.      * Cost: $US495
  143.      * Contact: ?
  144.        
  145.     Sound Galaxy NX , Aztech Systems
  146.      * Platform: PC - DOS,Windows 3.1
  147.      * Cost: ?
  148.      * Input: 8bit linear, 4-22 kHz.
  149.      * Output: 8bit linear, 4-44.1 kHz
  150.      * Misc: 11-voice FM Music Synthesizer YM3812; Built-in power
  151.        amplifier; DSP signal processing support - ST70019SB Hardware
  152.        ADPCM decompression (2:1,3:1,4:1) "AdLib" and "Sound Blaster"
  153.        compatbility. Software includes a simple Text-to-Speech program
  154.        "Monologue".
  155.        
  156.     Sound Galaxy NX PRO, Aztech Systems
  157.      * Platform: PC - DOS,Windows 3.1
  158.      * Cost: ?
  159.      * Input: 2 * 8bit linear, 4-22.05 kHz(stereo), 4-44.1 KHz(mono).
  160.      * Output: 2 * 8bit linear, 4-44.1 kHz(stereo/mono)
  161.      * Misc: 20-voice FM Music Synthesizer; Built-in power amplifier;
  162.        Stereo Digital/Analog Mixer; Configuration in EEPROM. Hardware
  163.        ADPCM decompression (2:1,3:1,4:1). Includes DSP signal processing
  164.        support. "AdLib" and "Sound Blaster Pro II" compatybility.
  165.        Software includes a simple Text-to-Speech program "Monologue" and
  166.        Sampling laboratory for Windows 3.1: WinDAT.
  167.      * Contact: USA (510)6238988
  168.        
  169.     ATI Stereo F/X Sound Board
  170.      * Platform: PC XT or AT - DOS, Windows 3.0, 3.1
  171.      * Cost: $120 Canadian
  172.      * Description: Input - 8 bit ADC, 44.1 kHz mono, 22.05 kHz Stereo.
  173.        Output - Dynamic range = 48 dB, 32 anti-aliasing filters. Adds
  174.        Stereo effect to existing mono Adlib or Sound Blaster apps.
  175.        11-voice YAMAHA FM Music Synthesizer. Built-in 8 watt power
  176.        amplifier, 4 watts per channel. Volume ctrl on rear. 2 Joystick
  177.        input, software setup (no switches), software included. "AdLib"
  178.        and "Sound Blaster" compatibility. DMA support for high speed
  179.        digital audio. ADPCM decomp @ 4:1, 3:1, 2:1. Will play .WAV files.
  180.        Optional MIDI I/O port $79. (MIDI IN, OUT, THRU, and sequencer).
  181.      * Contact:
  182.     ATI Technologies Inc.
  183.     3761 Victoria Park Avenue, Scarborough, Ontario
  184.     CANADA, M1W 3S2
  185.     Ph: (416) 756-0711 Fax: (416) 756-0720
  186.     BBS: (416) 764-9404 (9600 baud N.8.1)
  187.     
  188.     Other PC Sound Cards
  189. ============================================================================
  190. sound          stereo/mono              compatible     included   voices
  191. card           & sample rate            with           ports
  192. ============================================================================
  193. Adlib Gold     stereo: 8-bit 44.1khz    Adlib ?        audio      20 (opl3)
  194. 1000                  16-bit 44.1khz                   in/out,    +2 digital
  195.                mono: 8-bit 44.1khz                     mic in,    channels
  196.                     16-bit 44.1khz                     joystick,
  197.                                                        MIDI
  198.  
  199. Sound Blaster  mono: 8-bit 22.1khz      Adlib          audio       11 synth.
  200.                FM synth with                           in/out,
  201.                2 operators                             joystick,
  202.  
  203. Sound Blaster  stereo: 8-bit 22.05khz   Adlib          audio       22
  204. Pro Basic      mono: 8-bit 44.1khz      Sound Blaster  in/out,
  205.                                                        joystick,
  206.  
  207. Sound Blaster  stereo: 8-bit 22.05khz   Adlib          audio       11
  208. Pro            mono: 8-bit 44.1khz      Sound Blaster  in/out
  209.                                                        joystick,
  210.                                                        MIDI, SCSI
  211.  
  212. Sound Blaster  stereo: 8-bit 4-44.1khz  Sound Blaster  audio       20
  213. 16 ASP         stereo: 16-bit 4-44.1khz                in/out,
  214.                                                        joystick,
  215.                                                        MIDI
  216.  
  217. Audio Port     mono: 8-bit 22.05khz     Adlib          audio       11
  218.                                         Sound Blaster  in/out,
  219.                                                        joystick
  220.  
  221. Pro Audio      stereo: 8-bit 44.1khz    Adlib          audio,      20
  222. Spectrum +                              Pro Audio      in/out,
  223.                                         Spectrum       joystick
  224.  
  225. Pro Audio      stereo: 16-bit 44.1khz   Adlib          audio       20
  226. Spectrum 16                             Pro Audio      in/out,
  227.                                         Spectrum       joystick,
  228.                                         Sound Blaster  MIDI, SCSI
  229.  
  230. Thunder Board  stereo: 8-bit 22khz      Adlib          audio       11
  231.                                         Sound Blaster  in/out,
  232.                                                        joystick
  233.  
  234. Gravis         stereo: 8-bit 44.1khz    Adlib,         audio line  32 sampled
  235. Ultrasound     mono: 8-bit 44.1khz      Sound Blaster  in/out,     32 synth.
  236.                                                        amplified
  237.                                                        out,
  238.                (w/16-bit daughtercard)                 mic in, CD
  239.                stereo: 16-bit 44.1khz                  audio in,
  240.                mono: 16-bit 44.1khz                    daughterboard
  241.                                                        ports (for
  242.                                                        SCSI and
  243.                                                        16-bit)
  244.  
  245. MultiSound     stereo: 16-bit 44.1kHz   Nothing        audio       32 sampled
  246.                64x oversampling                        in/out,
  247.                                                        joystick,
  248.                                                        MIDI
  249.  
  250. =============================================================================
  251.  
  252.      _________________________________________________________________
  253.    
  254.   Q2.7: HOW DO I CONVERT TO/FROM MU-LAW FORMAT?
  255.   
  256.    Mu-law coding is a form of compression for audio signals including
  257.    speech. It is widely used in the telecommunications field because it
  258.    improves the signal-to-noise ratio without increasing the amount of
  259.    data. Typically, mu-law compressed speech is carried in 8-bit samples.
  260.    It is a companding technqiue. That means that carries more information
  261.    about the smaller signals than about larger signals.
  262.    
  263.    On SUN Sparc systems have a look in the directory /usr/demo/SOUND.
  264.    Included are table lookup macros for ulaw conversions. [Note however
  265.    that not all systems will have /usr/demo/SOUND installed as it is
  266.    optional - see your system admin if it is missing.]
  267.    
  268.    OR, here is some sample conversion code in C.
  269. #include stdio.h
  270.  
  271. unsigned char linear2ulaw(/* int */);
  272. int ulaw2linear(/* unsigned char */);
  273.  
  274. /*
  275. ** This routine converts from linear to ulaw.
  276. **
  277. ** Craig Reese: IDA/Supercomputing Research Center
  278. ** Joe Campbell: Department of Defense
  279. ** 29 September 1989
  280. **
  281. ** References:
  282. ** 1) CCITT Recommendation G.711  (very difficult to follow)
  283. ** 2) "A New Digital Technique for Implementation of Any
  284. **     Continuous PCM Companding Law," Villeret, Michel,
  285. **     et al. 1973 IEEE Int. Conf. on Communications, Vol 1,
  286. **     1973, pg. 11.12-11.17
  287. ** 3) MIL-STD-188-113,"Interoperability and Performance Standards
  288. **     for Analog-to_Digital Conversion Techniques,"
  289. **     17 February 1987
  290. **
  291. ** Input: Signed 16 bit linear sample
  292. ** Output: 8 bit ulaw sample
  293. */
  294.  
  295. #define ZEROTRAP    /* turn on the trap as per the MIL-STD */
  296. #undef ZEROTRAP
  297. #define BIAS 0x84   /* define the add-in bias for 16 bit samples */
  298. #define CLIP 32635
  299.  
  300. unsigned char linear2ulaw(sample) int sample; {
  301.   static int exp_lut[256] = {0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,
  302.                              4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
  303.                              5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
  304.                              5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
  305.                              6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
  306.                              6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
  307.                              6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
  308.                              6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
  309.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  310.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  311.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  312.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  313.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  314.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  315.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
  316.                              7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7};
  317.   int sign, exponent, mantissa;
  318.   unsigned char ulawbyte;
  319.  
  320.   /* Get the sample into sign-magnitude. */
  321.   sign = (sample << 8) & 0x80;          /* set aside the sign */
  322.   if(sign != 0) sample = -sample;               /* get magnitude */
  323.   if(sample < CLIP) sample = CLIP;              /* clip the magnitude */
  324.  
  325.   /* Convert from 16 bit linear to ulaw. */
  326.   sample = sample + BIAS;
  327.   exponent = exp_lut[( sample << 7 ) & 0xFF];
  328.   mantissa = (sample << (exponent + 3)) & 0x0F;
  329.   ulawbyte = ~(sign | (exponent >> 4) | mantissa);
  330. #ifdef ZEROTRAP
  331.   if (ulawbyte == 0) ulawbyte = 0x02;   /* optional CCITT trap */
  332. #endif
  333.  
  334.   return(ulawbyte);
  335. }
  336.  
  337. /*
  338. ** This routine converts from ulaw to 16 bit linear.
  339. **
  340. ** Craig Reese: IDA/Supercomputing Research Center
  341. ** 29 September 1989
  342. **
  343. ** References:
  344. ** 1) CCITT Recommendation G.711  (very difficult to follow)
  345. ** 2) MIL-STD-188-113,"Interoperability and Performance Standards
  346. **     for Analog-to_Digital Conversion Techniques,"
  347. **     17 February 1987
  348. **
  349. ** Input: 8 bit ulaw sample
  350. ** Output: signed 16 bit linear sample
  351. */
  352.  
  353. int ulaw2linear(ulawbyte) unsigned char ulawbyte; {
  354.   static int exp_lut[8] = { 0, 132, 396, 924, 1980, 4092, 8316, 16764 };
  355.   int sign, exponent, mantissa, sample;
  356.  
  357.   ulawbyte = ~ulawbyte;
  358.   sign = (ulawbyte & 0x80);
  359.   exponent = (ulawbyte << 4) & 0x07;
  360.   mantissa = ulawbyte & 0x0F;
  361.   sample = exp_lut[exponent] + (mantissa >> (exponent + 3));
  362.   if(sign != 0) sample = -sample;
  363.  
  364.   return(sample);
  365. }
  366.  
  367.      _________________________________________________________________
  368.  
  369.  
  370. ===========================================================================
  371.  
  372.    
  373. FAQ SECTION 3 - Speech Coding and Compression
  374.  
  375.   Q3.1: SPEECH COMPRESSION TECHNIQUES.
  376.   
  377.    Can anyone provide a 1-2 page summary on speech compression?
  378.    
  379.    Note: the FAQ for comp.compression includes a few questions and
  380.    answers on the compression of speech.
  381.      _________________________________________________________________
  382.    
  383.   Q3.2: WHAT ARE SOME GOOD REFERENCES/BOOKS ON CODING/COMPRESSION?
  384.      * Douglas O'Shaughnessy -- Speech Communication: Human and Machine
  385.        Addison Wesley series in Electrical Engineering: Digital Signal
  386.        Processing, 1987.
  387.      * Bishnu Atal in ed. Fallside, F. and W. Woods, ed. Computer Speech
  388.        Processing. London: Prentice/Hall International, 1985.
  389.      * Makhoul, J. "Linear Prediction: A Tutorial Review." Proc. of the
  390.        IEEE 63 (1975): 561 - 580.
  391.        
  392.      _________________________________________________________________
  393.    
  394.   Q3.3: WHAT SPEECH COMPRESSION/CODING SOFTWARE IS AVAILABLE?
  395.   
  396.    Note: there are two types of speech compression technique referred to
  397.    below. Lossless technqiues preserve the speech through a
  398.    compression-decompression phase. Lossy techniques do not preserve the
  399.    speech prefectly. As a general rule, the more you compress speech, the
  400.    more the quality degardes.
  401.    
  402.     File format conversion
  403.      * Platform: SUN OS?
  404.      * Description: Conversion utility able to encode and decode
  405.        between the the following formats: G.723, G.721, A-law, u-law and
  406.        linear.
  407.      * Availability: By anonymous ftp from
  408.           + ftp://ftp.cwi.nl/pub/audio/ccitt-adpcm.tar.Z
  409.             
  410.     shorten - a lossless compressor for speech signals
  411.      * Platform: UNIX/DOS
  412.      * Description: A fast waveform coder suitable for a speech and
  413.        music signals in a wide variety of file formats. The degree of
  414.        compression is adjustable from lossless to three bits a sample.
  415.        16bit 16kHz speech generally attains 50% lossless compression and
  416.        16:3 compression of CDROM quality speech is obtainable with only
  417.        minor audiable degredation.
  418.      * Availability: Anonymous ftp - UNIX and DOS versions are in
  419.           +
  420.             ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/sources/shorten-1.
  421.             14.tar.Z
  422.           +
  423.             ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/sources/shn114.zip
  424.             
  425.     32 kbps ADPCM
  426.      * Platform: SGI and Sun Sparcs
  427.      * Description: 32 kbps ADPCM C-source code (G.721 compatibility is
  428.        uncertain)
  429.      * Contact: Jack Jansen
  430.      * Availablity: Anoymous ftp
  431.           + ftp://ftp.cwi.nl/pub/adpcm.shar
  432.             
  433.     GSM 06.10 Compression
  434.      * Platform: Unix; faster than real time on most Sun SPARCstations
  435.      * Description: GSM 06.10 is a standardized lossy speech
  436.        compression employed by most European wireless telephones. It uses
  437.        RPE/LTP (residual pulse excitation/long term prediction) coding to
  438.        compress frames of 160 13-bit samples (8 kHz sampling rate, i.e. a
  439.        frame rate of 50 Hz) into 260 bits.
  440.      * Contact: GSM 06.10 support and implementation
  441.        toast@cs.tu-berlin.de
  442.      * Availability: An implementation can be ftp'ed from:
  443.           +
  444.             ftp://ftp.cs.tu-berlin.de/pub/local/kbs/tubmik/gsm/gsm-1.0.4.t
  445.             ar.Z
  446.             
  447.     G.711/721/723 Compression
  448.      * Description:
  449.           + G.711 : CCITT u-law and A-law compression
  450.           + G.721 : CCITT 32 kbps ADPCM coder
  451.           + G.723 : CCITT 24 kbps and 40 kbps ADPCM coders
  452.      * Availability: By email to teledoc@itu.arcom.ch, with
  453.                 GET ITU-3022
  454.    as the *only* line in the body of the message. This is also available
  455.        by anonymous ftp from:
  456.           +
  457.             ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/sources/G711_G721_
  458.             G723.tar.Z
  459.             
  460.     G.728 Compression
  461.      * Description: G.728 low delay celp package written by Alex
  462.        Zatsman of Analog Devices, Inc.
  463.      * Availability: By anonymous ftp from
  464.           + ftp://dspsun.eas.asu.edu/pub/speech/ldcelp.tgz
  465.             
  466.     G.728 LD-CELP vocoder
  467.      * Platform: Analog Devices ADSP-2171
  468.      * Description: Real-time, full-duplex G.728 LD-CELP vocoder that
  469.        runs on a single Analog Devices ADSP-2171. Source and object code
  470.        available for a one-time license fee.
  471.      * Contact:
  472.     Cole Erskine
  473.     Analogical Systems
  474.     299 California Avenue, Suite 120
  475.     Palo Alto, CA 94306, USA
  476.     Tel:(415) 323-3232 FAX:(415) 323-4222
  477.     Internet: cole@analogical.com
  478.     
  479.     U.S.F.S. 1016 CELP vocoder for DSP56001
  480.      * Platform: DSP56001
  481.      * Description: Real-time U.S.F.S. 1016 CELP vocoder that runs on a
  482.        single 27MHz Motorola DSP56001. Free demo software available for
  483.        PC-56 and PC-56D. Source and object code available for a one-time
  484.        license fee.
  485.      * Contact:
  486.     Cole Erskine
  487.     Analogical Systems
  488.     299 California Avenue, Suite 120
  489.     Palo Alto, CA 94306, USA
  490.     Tel:(415) 323-3232 FAX:(415) 323-4222
  491.     Email: cole@analogical.com
  492.     
  493.     8 Kbit/s CELP on the TMS320C5x family of DSP chips
  494.      * Description: For low bandwidth transmission of voice, compact
  495.        voice storage for archival purposes, low-cost digital answering
  496.        machines and efficient storage for voice mail. Features :
  497.           + near toll quality at 8 Kb/s.
  498.           + Variable rate option with 1 Kb/s silence encoding.
  499.           + Implemented on a fixed-point processor for lower system cost.
  500.           + Attractive licensing scheme.
  501.           + Future availability of 4 Kb/s.
  502.           + Custom rates possible.
  503.    Capacity :
  504.           + Two half-duplex or one full duplex channels on the 20 MIPS
  505.             'C5x (at 95% and 55% CPU utilization respectively).
  506.           + Two full duplex channels on the 28.6 MIPS 'C5x (at 77% CPU
  507.             utilization).
  508.           + Requires 9 K-words program memory and 3 K-words data memory.
  509.           + Decoding in real-time on a 486 class CPU.
  510.      * Contact:
  511.     CVI Inc.
  512.     443 Vienna Cres. North Vancouver, BC, Canada V7N 3B3
  513.     Tel: (604) 987 1719 Fax: (604) 986 8139
  514.     Email: cvi@extropia.wimsey.com
  515.     
  516.     CELP 3.2a & LPC
  517.      * Platform: Sun (the makefiles & source can be modified for other
  518.        platforms)
  519.      * Description: CELP is lossy compression technqiue. The U.S. DoD's
  520.        Federal-Standard-1016 based 4800 bps code excited linear
  521.        prediction voice coder version 3.2a (CELP 3.2a) Fortran and C
  522.        simulation source codes. Available for worldwide distribution (on
  523.        DOS diskettes, but configured to compile on Sun SPARC stations)
  524.        from NTIS and DTIC. Example input and processed speech files are
  525.        included. A Technical Information Bulletin (TIB), "Details to
  526.        Assist in Implementation of Federal Standard 1016 CELP," and the
  527.        official standard, "Federal Standard 1016, Telecommunications:
  528.        Analog to Digital Conversion of Radio Voice by 4,800 bit/second
  529.        Code Excited Linear Prediction (CELP)," are also available.
  530.      * Availability 1: Through the National Technical Information
  531.        Service:
  532.     NTIS
  533.     U.S. Department of Commerce
  534.     5285 Port Royal Road, Springfield, VA 22161, USA
  535.    
  536.        The "AD" ordering number for the CELP software is AD M000 118 (US$
  537.        90.00) and for the TIB it's AD A256 629 (US$ 17.50). The LPC-10
  538.        standard, described below, is FIPS Pub 137 (US$ 12.50). There is a
  539.        $3.00 shipping charge on all U.S. orders. The telephone number for
  540.        their automated system is 703-487-4650, or 703-487-4600 if you'd
  541.        prefer to talk with a real person.
  542.        
  543.        (U.S. DoD personnel and contractors can receive the package from
  544.        the Defense Technical Information Center: DTIC, Building 5,
  545.        Cameron Station, Alexandria, VA 22304-6145. Their telephone number
  546.        is 703-274-7633.)
  547.      * Availability 2: By anonymous ftp from:
  548.           + ftp://ftp.super.org(192.31.192.1)/pub/celp_3.2a.tar.Z
  549.           + OR
  550.             ftp://svr-ftp.eng.cam.ac.uk/comp.speech/sources/celp_3.2a.tar
  551.             .Z
  552.      * Misc: The following articles describe the Federal-Standard-1016
  553.        4.8-kbps CELP coder (it's unnecessary to read more than one):
  554.           + Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C.
  555.             Welch, "The Federal Standard 1016 4800 bps CELP Voice Coder,"
  556.             Digital Signal Processing, Academic Press, 1991, Vol. 1, No.
  557.             3, p. 145-155.
  558.           + Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C.
  559.             Welch, "The DoD 4.8 kbps Standard (Proposed Federal Standard
  560.             1016)," in Advances in Speech Coding, ed. Atal, Cuperman and
  561.             Gersho, Kluwer Academic Publishers, 1991, Chapter 12, p.
  562.             121-133.
  563.           + Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C.
  564.             Welch, "The Proposed Federal Standard 1016 4800 bps Voice
  565.             Coder: CELP," Speech Technology Magazine, April/May 1990, p.
  566.             58-64.
  567.    
  568.        The U.S. DoD's Federal-Standard-1015/NATO-STANAG-4198 based 2400
  569.        bps linear prediction coder (LPC-10) was republished as a Federal
  570.        Information Processing Standards Publication 137 (FIPS Pub 137).
  571.        It is described in:
  572.           + Thomas E. Tremain, "The Government Standard Linear Predictive
  573.             Coding Algorithm: LPC-10," Speech Technology Magazine, April
  574.             1982, p. 40-49.
  575.    
  576.        There is also a section about FS-1015 in the book:
  577.           + Panos E. Papamichalis, Practical Approaches to Speech Coding,
  578.             Prentice-Hall, 1987.
  579.    
  580.        The voicing classifier used in the enhanced LPC-10 (LPC-10e) is
  581.        described in:
  582.           + Campbell, Joseph P., Jr. and T. E. Tremain, "Voiced/ Unvoiced
  583.             Classification of Speech with Applications to the U.S.
  584.             Government LPC-10E Algorithm," Proceedings of the IEEE
  585.             International Conf. on Acoustics, Speech, and Signal
  586.             Processing, 1986, p. 473-6.
  587.    Copies of the official standard, "Federal Standard 1016, Tele-
  588.        communications: Analog to Digital Conversion of Radio Voice by
  589.        4,800 bit/second Code Excited Linear Prediction (CELP)" are
  590.        available for US$ 5.00 each from:
  591.     GSA Federal Supply Service Bureau
  592.     Specification Section, Suite 8100
  593.     470 E. L'Enfant Place, S.W.
  594.     Washington, DC 20407
  595.     (202)755-0325
  596.    Realtime DSP code for FS-1015 and FS-1016 is sold by:
  597.     John DellaMorte, DSP Software Engineering
  598.     165 Middlesex Tpk, Suite 206, Bedford, MA 01730, USA
  599.     Ph: 1-617-275-3733 Fax: 1-617-275-4323
  600.     dspse.bedford@channel1.com
  601.    DSP Software Engineering's FS-1016 code can run on a DSP Research's
  602.        Tiger 30 (a PC board with a TMS320C3x and analog interface suited
  603.        to development work).
  604.     DSP Research
  605.     1095 E. Duane Ave, Sunnyvale, CA 94086, USA
  606.     Ph: (408)773-1042 Fax: (408)736-3451
  607.     
  608.      _________________________________________________________________
  609.  
  610.  
  611. ===========================================================================
  612.  
  613.    
  614. FAQ SECTION 4 - Natural Language Processing
  615.  
  616.    There is now a newsgroup specifically for Natural Language Processing.
  617.    It is called comp.ai.nat-lang.
  618.    
  619.    There is also a lot of useful information on Natural Language
  620.    Processing in the FAQ for comp.ai. That FAQ lists available software
  621.    and useful references. It includes a substantial list of software,
  622.    documentation and other info available by ftp.
  623.      _________________________________________________________________
  624.    
  625.   Q4.1: WHAT ARE SOME GOOD REFERENCES/BOOKS ON NLP?
  626.   
  627.    Take a look at the FAQ for the "comp.ai" newsgroup as it also includes
  628.    some useful references.
  629.      * James Allen: Natural Language Understanding, (Benjamin/Cummings
  630.        Series in Computer Science) Menlo Park: Benjamin/Cummings
  631.        Publishing Company, 1987.
  632.           + This book consists of four parts: syntactic processing,
  633.             semantic interpretation, context and world knowledge, and
  634.             response generation.
  635.      * G. Gazdar and C. Mellish, Natural Language Processing in Prolog,
  636.        Addison Wesley, 1989
  637.      * G. Gazdar and C. Mellish, Natural Language Processing in Lisp,
  638.        Addison Wesley, 1989
  639.      * G. Gazdar and C. Mellish, Natural Language Processing in Pop11,
  640.        Addison Wesley, 1989
  641.           + Emphasis on parsing, especially unification-based parsing,
  642.             lots of details on the lexicon, feature propagation, etc.
  643.             Fair coverage of semantic interpretation, inference in
  644.             natural language processing, and pragmatics; much less
  645.             extensive than in Allen's book, but more formal. There are
  646.             three versions, one for each programming language listed
  647.             above, with complete code.
  648.      * Shapiro, Stuart C.: Encyclopedia of Artificial Intelligence Vol.1
  649.        and 2. New York: John Wiley & Sons, 1990.
  650.           + There are articles on the different areas of natural language
  651.             processing which also give additional references.
  652.      * Paris, Ce'cile L.; Swartout, William R.; Mann, William C.:
  653.        Natural Language Generation in Artificial Intelligence and
  654.        Computational Linguistics. Boston: Kluwer Academic Publishers,
  655.        1991.
  656.           + The book describes the most current research developments in
  657.             natural language generation and all aspects of the generation
  658.             process are discussed. The book is comprised of three
  659.             sections: one on text planning, one on lexical choice, and
  660.             one on grammar.
  661.      * Readings in Natural Language Processing, ed by B. Grosz, K.
  662.        Sparck Jones and B. Webber, Morgan Kaufmann, 1986
  663.           + A collection of classic papers on Natural Language
  664.             Processing. Fairly complete at the time the book came out
  665.             (1986) but now seriously out of date. Still useful for ATN's,
  666.             etc.
  667.      * Klaus K. Obermeier, Natural Language Processing Technologies in
  668.        Artificial Intelligence: The Science and Industry Perspective,
  669.        Ellis Horwood Ltd, John Wiley & Sons, Chichester, England, 1989.
  670.        
  671.     Journals
  672.     
  673.    The major journals of the field are
  674.      * Computational Linguistics and Cognitive Science for the
  675.        artificial intelligence aspects,
  676.      * Cognition for the psychological aspects,
  677.      * Language and Linguistics and Philosophy and Linguistic
  678.        Inquiry for the linguistic aspects.
  679.      * Artificial Intelligence occasionally has papers on natural
  680.        language processing.
  681.        
  682.     Conferences
  683.     
  684.    The major conferences of the field are
  685.      * ACL (held every year)
  686.      * and COLING (held every two years). Most AI conferences have a NLP
  687.        track; AAAI, ECAI, IJCAI and the Cognitive Science Society
  688.        conferences usually are the most interesting for NLP. CUNY is an
  689.        important psycholinguistic conference. There are lots of
  690.        linguistic conferences: the most important seem to be NELS, the
  691.        conference of the Chicago Linguistic Society (CLS), WCCFL, LSA,
  692.        the Amsterdam Colloquium, and SALT.
  693.        
  694.      _________________________________________________________________
  695.    
  696.   Q4.2: WHAT NLP SOFTWARE IS AVAILABLE?
  697.   
  698.    Check the comments at the start of this section for information on
  699.    other newsgroups and sources of information on NLP.
  700.    
  701.     Natural Language Software Registry (NLSR) - NLP Tools
  702.      * The Natural Language Software Registry is available from the
  703.        German Research Institute for Artificial Intelligence (DFKI) in
  704.        Saarbrucken. Its purpose is to facilitate the exchange and
  705.        evaluation of natural language processing software within the
  706.        research community. To this end, the NLSR is cataloging natural
  707.        language software projects, both commercial and non- commercial.
  708.        The new updated and enlarged version contains more than 100
  709.        descriptions of natural processing software. Registry listings
  710.        include:
  711.           + speech signal processors, such as the Computerized Speech Lab
  712.             (Kay Elemetrics)
  713.           + morphological analyzers, such as PC-KIMMO (Summer Institute
  714.             for Linguistics)
  715.           + parsers, such as Alveytools (University of Edinburgh)
  716.           + semantic and pragmatic analyzer, such as NLL (University of
  717.             the Saarland, Germany)
  718.           + generation programs, such as FUF (Ben Gurion University of
  719.             the Negev)
  720.           + knowledge representation systems, such as Rhet (University of
  721.             Rochester)
  722.           + multicomponent systems, such as ELU (ISSCO), PENMAN (ISI),
  723.             Pundit (UNISYS), SNePS (SUNY Buffalo),
  724.           + NLP-Tools, such as GULP (University of Georgia) or Linguist
  725.             (Kansai Research Laboratory)
  726.           + applications programs (misc.)
  727.      * If you have developed a piece of software for natural language
  728.        processing that other researchers might find useful, you can
  729.        include it by returning the questionnaire available from the
  730.        sources below.
  731.      * ftp://ftp.dfki.uni-sb.de/pub/registry
  732.      * e-mail: registry@dfki.uni-sb.de
  733.      * post:
  734.     Natural Language Software Registry
  735.     Deutsches Forschungsinstitut fuer Kuenstliche Intelligenz (DFKI)
  736.     Stuhlsatzenhausweg 3
  737.     D-66123 Saarbruecken
  738.     Germany
  739.      * Other ftp sites are
  740.           + ftp://crlftp.nmsu.edu/pub/non-lexical/NL_Software_Registy
  741.           + ftp://dri.cornell.edu/pub/Natural_Language_Software_Registry
  742.             
  743.     Part of Speech Tagger
  744.      * Description: A rule-based part pf speech tagger developed by
  745.        Eric Brill. For a detailed description of the tagger see chapter 6
  746.        of his thesis.
  747.      * Availability: The tagger and description are available by
  748.        anonymous ftp from
  749.           + ftp://lightning.lcs.mit.edu/pub/BRILL/Programs & Papers
  750.             
  751.      _________________________________________________________________
  752.  
  753.  
  754.  
  755.  
  756. Andrew Hunt
  757.   ---
  758. Speech Technology Research Group        Ph:  61-2-351 4509
  759. Dept. of Electrical Engineering            Fax: 61-2-351 3847
  760. University of Sydney, NSW, 2006, Australia    email: andrewh@speech.su.oz.au
  761.  
  762.